package com.crm.dao.mapper.customerManager;

import com.crm.model.entity.customerManager.Customer;
import com.crm.model.entity.customerManager.CustomerExample;
import java.util.List;

import com.crm.model.vo.customerManager.CustomerTransferRecordVo;
import org.apache.ibatis.annotations.Param;

public interface CustomerMapper {
    long countByExample(CustomerExample example);

    int deleteByExample(CustomerExample example);

    int deleteByPrimaryKey(String customerId);

    int insert(Customer record);

    int insertSelective(Customer record);

    List<Customer> selectByExampleWithBLOBs(CustomerExample example);

    List<Customer> selectByExample(CustomerExample example);

    Customer selectByPrimaryKey(String customerId);

    int updateByExampleSelective(@Param("record") Customer record, @Param("example") CustomerExample example);

    int updateByExampleWithBLOBs(@Param("record") Customer record, @Param("example") CustomerExample example);

    int updateByExample(@Param("record") Customer record, @Param("example") CustomerExample example);

    int updateByPrimaryKeySelective(Customer record);

    int updateByPrimaryKeyWithBLOBs(Customer record);

    int updateByPrimaryKey(Customer record);

    int selectCountById(String id);

    int selectCountByNameByCode(@Param("name") String name,@Param("code") String code);

    /**
     * 客户调转-流转记录
     * @param customerName 客户名称
     * @return
     */
    List<CustomerTransferRecordVo> selectCustomerTransferRecordList(String customerName);
}